package com.yxy.ms.manager.common;

/**
 * <类描述>常量类
 * 
 * @author yangcheng6327
 * @date 2019/11/25
 */
public final class Constant {

    private Constant() {}

    /**
     * 车型 - 1型客车
     */
    public static int VEHICLE_TYPE_COACH_ONE = 1;

    /**
     * 门架类型 - 物理门架
     */
    public static int GANTRY_TYPE_PHYSICAL = 0;
    /**
     * 门架类型 - 承载门架
     */
    public static int GANTRY_TYPE_BEAR = 1;

    /**
     * 基于2 - 金额计算错误的默认处理结果
     */
    public static int CALCULATE_AMOUNT_ERR_PROCCESS_RESULT = -952;
    /**
     * 基于2 - 金额计算错误的默认包号
     */
    public static long CALCULATE_AMOUNT_ERR_PACK_NO = 0;
    /**
     * 基于2 - 金额计算错误的默认包号
     */
    public static int CALCULATE_AMOUNT_ERR_TRANS_ID = 0;

    /**
     * 默认包号
     */
    public static long DEFAULT_PACK_NO = 0;
    /**
     * 默认序列号
     */
    public static int DEFAULT_TRANS_ID = 0;

    /**
     * 京通
     */
    public static String JINGTONG_SERVICE_PROVIDERID = "9999999911030003";

    /**
     * 机场
     */
    public static String JICHANG_SERVICE_PROVIDERID = "9999999911030004";
    /**
     * 计费模块和计费参数版本号：比这个版本号小的转十六进制，其余不转
     */
    public static String COMPARE_RATE_VERSION = "1120200108001|1120200108001";
    /**
     * 记账卡
     */
    public static int GAN_TRY_ETC_CARD_TYPE__DEBIT = 2;
    /**
     * 储值卡
     */
    public static int TRAN_EXIT_ICARD_TYPE_STORED = 22;
    /**
     * 记账卡
     */
    public static int TRAN_EXIT_ICARD_TYPE_DEBIT = 23;

    /**
     * 处理状态：已发送
     */
    public static int PROCCESS_RESULT_SEND = -1;
    /**
     * 处理状态：待发送
     */
    public static int PROCCESS_RESULT_WAIT_SEND = -2;
    /**
     * 处理状态：格式效验错误
     */
    public static int PROCCESS_RESULT_CHECK_ERROR = -3;
    /**
     * 基于2 - 金额计算后，待发送状态
     */
    public static int BASE_ON_PASS_PIC_TRANS_PROCCESS_RWAIT_SEND = -4;
    /**
     * 处理状态：格式效验错误
     */
    public static int PROCCESS_RESULT_REPEAT = -5;

    /**
     * 免费车型
     */
    public static int PROCCESS_RESULT_FREE = 200;

    /**
     * 请求类型 - 验证枚举（4401 - 4419）
     */
    public static String CLEAR_REQUIRED_DATATYPE_REGEX = "^44[0-2]{1}[1-9]{1}$";
    /**
     * 锁 - 尝试加锁的时间(毫秒)
     */
    public static long TRY_LOCK_MILLISECONDS = 3000;
    /**
     * 
     */
    public static long TERMINATION_TIMEOUT_SECONDS = 30;
    /**
     * 文件名扩展 - JSON
     */
    public static String FILENAME_EXTENSION_JSON = "json";
    /**
     * 文件名扩展 - ZIP
     */
    public static String FILENAME_EXTENSION_ZIP = "zip";

    /**
     * 1-基于TAC生成的ETC门架交易
     */
    public static int BASE_ON_TAC_TRANS = 1;
    /**
     * 2-ETC刷卡交易
     */
    public static int ETC_CREDITCARD_TRANS = 2;
    /**
     * 3-基于可匹配过车图像的ETC通行记录的ETC门架交易数据
     */
    public static int BASE_ON_PASS_PIC_TRANS = 3;
    /**
     * 4-基于经校核的过车识别图像的ETC门架交易
     */
    public static int BASE_ON_CHECK_TRANS = 4;
    /**
     * 5-基于有证据支撑的路径拟合数据的ETC门架交易数据
     */
    public static int BASE_ON_SUPPORT_TRANS = 5;
    /**
     * ETC省域拆分交易ID
     */
    public static int SPLIT_ETC_TRANS = 10;
    /**
     * ETC清分结算
     */
    public static final int CLEAR_ETC_TRANS = 8;
    /**
     * 非etc清分结算
     */
    public static final int CLEAR_NO_ETC_TRANS = 9;
    /**
     * 退分和补交清分结算
     */
    public static final int CLEAR_REFUND_TRANS = 18;
    /**
     * 12-现金交易（移动支付）
     */
    public static int CASH_MOBILE_PAY_TRANS = 12;
    /**
     * 13-现金交易（非移动支付）
     */
    public static int CASH_NONE_MOBILE_TRANS = 13;
    /**
     * 门架编号的长度
     */
    public static int GANTRY_ID_LENGTH = 16;
    /**
     * 入口车道编号的长度
     */
    public static int EN_TOLL_LANEID_LENGTH = 14;
    /**
     * 发行方编号长度
     */
    public static int ISSURE_ID_LENGTH = 16;
    /**
     * 默认值
     */
    public static String DEFAULT_TWO_VALUE = "00";

    /***
     * 参与方类型 - 发行机构
     */
    public static String PARTICIPANT_TYPE_ISSURE = "01";
    /***
     * 参与方类型 - 清分机构
     */
    public static String PARTICIPANT_TYPE_CLEAR_ORG = "01";
    /**
     * 交易结果 - 成功
     */
    public static int TRADE_RESULT_SUCCESS = 0;
    /**
     * 交易结果 - 失败
     */
    public static int TRADE_RESULT_FAILURE = 1;
    /**
     * 默认车牌号
     */
    public static String DEFALUT_VEHICLE = "默A00000";
    /**
     * 默认车牌颜色
     */
    public static int DEFALUT_VEHICLE_COLOR = 9;
    /**
     * 默认车牌号+颜色
     */
    public static String DEFALUT_VEHICLE_ID = "默A00000_9";
    public static String DEFALUT_VEHICLE_ID_7 = "默A00000_7";
    public static int CLEAR_MESSAGE_INFO_CHECK_FLAG_SUCCESS = 1;
    public static int CLEAR_MESSAGE_INFO_CHECK_FLAG_FAILURE = 1;
    /**
     * 交易服务类型：公路电子收费
     */
    public static int SERVICE_TYPE_ELE_ROAD_PRICING = 1;
    /**
     * 算法标识 - 默认值为0暂时不支持
     */
    public static int ALGORITHM_IDENTIFIER_DEFAULT = 0;
    /**
     * 算法标识 - 3DEX
     */
    public static int ALGORITHM_IDENTIFIER_3DEX = 1;
    /**
     * 算法标识 - SM4
     */
    public static int ALGORITHM_IDENTIFIER_SM4 = 2;
    /**
     * 清分业务异常类型： 1- MD5验证失败
     */
    public static int VALID_MD5_FAILURE = 1;
    /**
     * 清分业务异常类型：2-包内条数不正确
     */
    public static int VALID_PACKAGE_COUNT_INCORRECT = 2;
    /**
     * 清分业务异常类型：3-包内金额不正确
     */
    public static int VALID_PACKAGE_AMOUNT_INCORRECT = 3;
    /**
     * 清分业务异常类型：4-发行方不存在
     */
    public static int VALID_PACKAGE_ISSURE_NONE_EXIST = 4;
    /**
     * 清分业务异常类型：5-原始交易包不存在
     */
    public static int VALID_ORIGINAL_PACKAGE_NONE_EXIST = 5;
    /**
     * 清分业务异常类型：6-记账处理失败
     */
    public static int VALID_BOOKKEEPING_PROCESS_FAILED = 6;
    /**
     * 清分业务异常类型：7-清分失败
     */
    public static int VALID_CLEAR_FAILURE = 7;
    /**
     * 每一天更新的版本长度
     */
    public static final int VERSION_DAY_LENGTH = 8;
    /**
     * 每一小时更新的版本长度
     */
    public static final int VERSION_HOUR_LENGTH = 10;
    /**
     * 每5分钟更新的版本长度
     */
    public static final int VERSION_MINUTE_LENGTH = 12;
    /**
     * 以天为单位的版本更新层次
     */
    public static final int VERSION_DAY_COUNT = 1;
    /**
     * 以小时为单位的版本更新层次
     */
    public static final int VERSION_HOUR_COUNT = 1;
    /**
     * 以分钟为单位的版本间隔层次
     */
    public static final int VERSION_MINUTE_COUNT = 5;
    /**
     * clearType其他交易下载
     */
    public static final int CLEAR_TYPE_OTHER = 1;
    /**
     * 清分结算结果（退费补交）下载
     */
    public static final int CLEAR_TYPE_CLEAR_REFUND_RESTITUTION = 11;
    /**
     * 移动支付交易争议消息下载
     */
    public static final int CLEAR_TYPE_MOBILE_DISPUTE = 12;
    /**
     * 下载版本信息开启状态
     */
    public static final int CLEAR_DOWNLOAD_STATUS_ON = 0;
    /**
     * 下载版本信息禁用状态
     */
    public static final int CLEAR_DOWNLOAD_STATUS_OFF = 1;
    /**
     * 京通参与方ID
     */
    public static final String SERVICE_PROVIDER_ID_JT = "9999999911030004";
    /**
     * 机场参与方ID
     */
    public static final String SERVICE_PROVIDER_ID_JC = "9999999911030003";
    /**
     * ETC门架交易(n11类型)
     */
    public static final int ETC_TRANS_SPLIT_TYPE = 1;
    /**
     * 争议省域ETC刷卡messageId长度
     */
    public static final int SPLIT_MESSAGE_LENGTH = 16;
    /**
     * ETC省域拆分清分下载类型
     */
    public static final int CLEAR_TYPE_SPLIT_ETC = 3;

    public static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";

}
